A typical digital imaging system can include an image capture device such as a digital camera or scanner, a computer attached to the digital camera for processing the digital images, and an output device such as a color printing device or softcopy display attached to the computer for printing/viewing the processed digital images. A color management architecture for a digital imaging system provides a way for processing the digital images in the computer such that the output colors that are produced on the output device are reasonable reproductions of the desired input colors as captured by the input device. One such color management architecture that is widely known and accepted in the art is defined by the International Color Consortium (ICC) in Specification ICC.1:2001-12 “File Format For Color Profiles”. The ICC color management framework provides for characterizing an imaging device using a device profile such as an “ICC profile”. The ICC profile for an imaging device specifies how to convert from device dependent color space (DDCS) to a device independent color space (DICS) so that images can be communicated from one device to another. The ICC color management paradigm is well known in the art.
For example, images produced by a digital camera are generally composed of a 2-dimensional (x,y) array of discrete pixels, where each pixel is represented by a trio of 8-bit digital code values (which are integers on the range 0-255) that represent the amount of red, green, and blue color that were “seen” by the camera at this pixel. These RGB code values represent the DDCS, since they describe the amount of light that was captured through the specific set of RGB filters that are used in the digital camera. In order for this digital image to be color-managed to another color imaging device, the RGB code values are generally transformed into a DICS. Once in a DICS such as 1976 CIE L*a*b* color space (i.e., CIELAB), image pixel values can be converted to DDCS values for an output color printing device such as a color inkjet printer that utilizes cyan (C), magenta (M), yellow (Y), and black (K) colorants. The transformation that converts the DICS values to DDCS values for a given output device is referred to herein as an inverse device model. For color imaging devices that utilize more than three colorants, many DDCS values can map to a single DICS value. This case represents a many-to-one mapping for which a unique inverse device model does not exist.
The ICC profile format, of course, simply provides a file format in which a color transform (i.e., a color management profile) is stored. The color transform itself, which is typically encoded as a multidimensional look-up table, is what specifies the mathematical conversion from one color space to another. There are many tools known in the art, such as the commercially available Kodak ColorFlow Profile Editor, for producing ICC profiles for wide variety of imaging devices, including inkjet printers using CMYK colorants. CMYK printers in particular pose a challenge when producing a color transform. Since there are four colorants that are used to print a given color, which is specified in the DICS by three channels (e.g., CIELAB L*a*b* values), then there is an extra degree of freedom that results in a many to one mapping, where many CMYK code value combinations can result in the same color. Thus, when building the color transform, a method of choosing a particular CMYK combination that is used to reproduce a given color is required.
Techniques to accomplish this, known in the graphic arts as Under Color Removal (UCR) or Black Generation (BG), are known in the art, as taught in U.S. Pat. Nos. 4,482,917; 5,425,134; 5,508,827; 5,553,199; and 5,710,824. These methods primarily use smooth curves or interpolation techniques to specify the amount of K ink that is used to reproduce a color based on its location in color space, and then compute the amount of CMY ink that is needed to accurately reproduce the color.
However, in the case of an inkjet printer, which places discrete drops of CMYK inks on a page, different combinations of CMYK code values can produce the same color, but appear much different in graininess or noise when viewed by a human observer. This is due to the fact that inkjet printers are typically multitone printers, which are capable of ejecting only a fixed number (generally 1-8) of discrete ink drop sizes at each pixel. The graininess of a multitoned image region will vary depending on the CMYK code values that were used to produce it. Thus, certain CMYK code value combinations might produce visible patterns having an undesirable grainy appearance, while other CMYK code value combinations can produce the same (or nearly) color, but not appear as grainy. This relationship is not recognized nor taken advantage of in the prior art techniques for producing color transforms for CMYK printers.
An additional complication with producing color transform for inkjet printers is that image artifacts can typically result from using too much ink. These image artifacts degrade the image quality, and can result in an unacceptable print. In the case of an inkjet printer, some examples of these image artifacts include bleeding, cockling, banding, and coalescence. Bleeding is characterized by an undesirable mixing of colorants along a boundary between printed areas of different colorants. The mixing of the colorants results in poor edge sharpness, which degrades the image quality. Cockling is characterized by a warping or deformation of the receiver that can occur when printing excessive amounts of colorant. In severe cases, the receiver can warp to such an extent as to interfere with the mechanical motions of the printer, potentially causing damage to the printer. Banding refers to unexpected dark or light lines or streaks that appear running across the print, generally oriented along one of the axes of motion of the printer. Coalescence refers to undesired density or tonal variations that arise when ink pools together on the page, and can give the print a grainy appearance, thus degrading the image quality. In an inkjet printer, satisfactory density and color reproduction can generally be achieved without using the maximum possible amount of colorant. Therefore, using excessive colorant not only introduces the possibility of the above described image artifacts occurring, but is also a waste of colorant. This is disadvantageous, since the user will obtain fewer prints from a given quantity of colorant.
It has been recognized in the art that the use of excessive colorant when printing a digital image needs to be avoided. Generally, the amount of colorant needed to cause image artifacts (and therefore be considered excessive) is receiver, colorant, and printer technology dependent. Many techniques of reducing the colorant amount are known in the art, some of which operate on the image data after multitoning. See, for example, U.S. Pat. Nos. 4,930,018; 5,515,479; 5,563,985; 5,012,257; and 6,081,340. U.S. Pat. No. 5,633,662 to Allen et al. teaches a method of reducing colorant using a pre-multitoning algorithm that operates on higher bit precision data (typically 256 levels, or 8 bits per pixel, per color). Also, many of the commercially available ICC profile creation tools (such as Kodak ColorFlow Profile Editor) have controls that can be adjusted when producing the ICC profile that limit the amount of colorant that will be printed when using the ICC profile. This process is sometimes referred to as total colorant amount limiting.
The prior art techniques for total colorant amount limiting work well for many inkjet printers, but are disadvantaged when applied to state of the art inkjet printers that use other than the standard set of CMYK inks. A common trend in state of the art inkjet printing is to use CMYKcm inks, in which additional cyan and magenta inks that are lighter in density are used. The light inks are similar to their darker counterparts in that they produce substantially the same color but different density. The use of the light inks results in less visible ink dots in highlight regions, and therefore improved image quality. However, many tools for producing ICC profiles cannot be used to produce a profile that directly addresses all six color channels of the inkjet printer, due to the complex mathematics involved. Instead, a CMYK profile is typically produced, which is then followed by a look-up table that converts CMYK to CMYKcm. For example, see U.S. Pat. No. 6,312,101. While this and similar methods provide a way for current ICC profile generation tools to be used with CMYKcm printers, the amount of colorant that gets placed on the page as a function of the CMYK code value is typically highly nonlinear and possibly non-monotonic as well. This produces a problem when using the prior art ICC profile generation tools, since they all assume that the amount of colorant that is printed is proportional to the CMYK code value. Thus, when building an inverse device model and an ICC profile for a CMYKcm printer using prior art tools, the total colorant amount limiting is often quite inaccurate, resulting in poor image quality.
Prior art processes that utilize UCR approaches to direct the use of black in the printing process are not suitable for color printing process that utilize alternative colorants such as CMYK in addition to orange (O) and green (G). Prior art process such as that described by Gregory et al., U.S. Pat. No. 5,857,063, use UCR as a mechanism to transform the 3-to-4 dimensional problem of producing an inverse model for a CMYK printer to a 3-to-3 dimensional problem. In this case direct inversion processes exist for the cases where the black colorant is added according to a UCR equation. However, this process has many limitations when it comes to building a colorimetric inverse device model. The UCR strategy has a tendency to reduce the gamut of the color printing device as well as limiting certain colorant combinations from ever being formed.
In general, it takes very sophisticated processes to produce an inverse device model for a CMYKOG printing system. As previously recognized, the conversion from the 3-dimensional color space such as CIELAB to DDCS colorant control signals such as CMYK represents and ill-posed mathematical problem (i.e., there can exist many CMYK values that map to a single CIELAB point). The ill-posed nature of the problem increases when two extra dimensions are added to the problem, namely orange (O) and green (G) colorants. Under color removal processes that direct the usage of black are no longer suitable to reduce the dimensionality of the inverse model generation process to a 3-to-3 dimensional problem. As such, this represents a limitation of a UCR-like approach for more than four colorant inverse device-modeling processes.
This phenomenon is not limited to CMYK processes that add in extra inks such as orange and green. In general, any mapping from a m-dimensional color space to a n-dimensional colorant control signal space, where n is greater than m, represents an ill-posed problem. For cases where n is greater than four, methods designed after a UCR-like process that try and fix the amount of one colorant according to a set of rules to reduce the dimensionality of the process to a 3-to-3 dimensional conversion do not work.
In U.S. Patent Application Publication 2002/0105659 A1, W. A. Rozzi teaches a process for producing an inverse printer model using a 3-dimensional root finding approach. Their process fixes one of the colorant control signal channels to a set level and then solves for a set of the other 3 colorant values that produce the desired color space value. This problem requires a solution of a nonlinear system of equations, which is a 3-dimensional root finding problem. This 3-to-3 mapping can have zero, one, or more than one solution. Rozzi considers the cases of zero solutions and of exactly one solution, but fails to deal with the problem of when there is more than one solution. This is a limitation of the Rozzi process.
Yet another limitation of the Rozzi process is in how it deals with the infinite set of possible colorant control values for a given color. This leaves these colors as simply a set of independent points. They are not treated as a connected set in the n-dimensional colorant control space. This makes selection of the optimal point from the independent set of points problematic. As such, there is a need for a process that can determine the set of all n-dimensional colorant control signal values that map to an m-dimensional color space value where the relationship between the n-dimensional colorant control signal values is known.